5
תגובות

כפתור מחיקת שורה במסד..

פתח ArielTador ,
שלום,

נגיד ויש לי במסד טבלה בשם 'cars', בתוכה יש לי שורות שכל אחת מהם מכילה פרטים של מכונית.
את כל המכוניות + הפרטים עליהם הדפסתי באתר שלי, כלומר כמו רשימה כזו של מכוניות, עם עמודים והכל..
עשיתי בתוך לולאת ה while של הדפסת המכוניות, שבתוך כל מכונית מהרשימה יהיה כפתור מחיקה שלו, אבל הבעיה היא שכשאני לוחץ על מחק, זה מוחק לי את הכל..
זה הקוד שלי:

$mysql1 = mysql_query("SELECT * FROM `icars` ORDER BY `id` DESC");
      while($car = mysql_fetch_assoc($mysql1)){
      $p .= '
      <a href="index.php?do=cars&id='
.$car['id'].'" style="text-decoration: none;">
      <form method="post" style="background-color: #c3c3c3; color: #000000; -webkit-border-radius: 3.5px; -moz-border-radius: 3.5px; border-radius: 35x; border: 1px solid #929292; width: 900px;">
      <b>'
.$car['yazran'].' &nbsp; '.$car['degem'].'</b>&nbsp;|&nbsp;
      מודל שנת: '
.$car['shana'].'&nbsp;|&nbsp;
      סוג הדלק: '
.$car['delek'].'&nbsp;|&nbsp;
      קילומטר: '
.$car['kilometer'].'&nbsp;|&nbsp;
      מחיר: '
.$car['mehir'].' &nbsp;|&nbsp;
      </a>
      <input type="submit" name="drop" value="מחק">
      </form>
     
      '
;
      if(isset($_POST['drop']))
      {
      mysql_query("DELETE FROM `icars` WHERE `id`='".$car['id']."'");
     
      }
      }


מה עושים?

5 תשובות

avatar ענה RaFaeL ב 23 לאוגוסט 2012 #

לא הבנתי למה שמת את ה if בלולאה?
הינה הקוד:

$mysql1 = mysql_query("SELECT * FROM `icars` ORDER BY `id` DESC");
while($car = mysql_fetch_assoc($mysql1)){
  $p .= '
  <a href="index.php?do=cars&id='
.$car['id'].'" style="text-decoration: none;">
  <form method="post" style="background-color: #c3c3c3; color: #000000; -webkit-border-radius: 3.5px; -moz-border-radius: 3.5px; border-radius: 35x; border: 1px solid #929292; width: 900px;">
  <b>'
.$car['yazran'].' &nbsp; '.$car['degem'].'</b>&nbsp;|&nbsp;
  מודל שנת: '
.$car['shana'].'&nbsp;|&nbsp;
  סוג הדלק: '
.$car['delek'].'&nbsp;|&nbsp;
  קילומטר: '
.$car['kilometer'].'&nbsp;|&nbsp;
  מחיר: '
.$car['mehir'].' &nbsp;|&nbsp;
  </a>
  <input type="submit" name="drop" value="מחק">
  </form>'
;
}
if(isset($_POST['drop']) && is_numeric($_POST['drop']))
{
  mysql_query("DELETE FROM `icars` WHERE `id`='". $_POST['drop'] ."'");
}


דרך אגב הקוד ממש ממש לא כתוב טוב ולא מסודר!
וגם אם אתה עובד עם mysql אז תעבוד לפחות עם mysqli(מדריך)

ועוד דבר, למה עשית שם FORM תעשה קישור רגיל ובמקום POST תשתמש ב GET....

avatar ענה ArielTador ב 23 לאוגוסט 2012 #

אחי.. מה שכתבת לא עובד לי.....

avatar ענה RaFaeL ב 23 לאוגוסט 2012 #

תסביר מה לא עובד...

דרך אגב, כל הקוד שלך לא תקין, תנסה ככה:

$mysql1 = mysql_query("SELECT * FROM `icars` ORDER BY `id` DESC");
while($car = mysql_fetch_assoc($mysql1)){
  $p .= '
  <a href="index.php?do=cars&id='
.$car['id'].'" style="text-decoration: none;">
  <div style="background-color: #c3c3c3; color: #000000; -webkit-border-radius: 3.5px; -moz-border-radius: 3.5px; border-radius: 35x; border: 1px solid #929292; width: 900px;">
  <b>'
.$car['yazran'].' &nbsp; '.$car['degem'].'</b>&nbsp;|&nbsp;
  מודל שנת: '
.$car['shana'].'&nbsp;|&nbsp;
  סוג הדלק: '
.$car['delek'].'&nbsp;|&nbsp;
  קילומטר: '
.$car['kilometer'].'&nbsp;|&nbsp;
  מחיר: '
.$car['mehir'].' &nbsp;|&nbsp;
  </div>
  </a>
  <a href="index.php&drop='
.$car['id'].'">מחיקה</a>';
}
if(isset($_POST['drop']) && is_numeric($_POST['drop']))
{
  mysql_query("DELETE FROM `icars` WHERE `id`='". $_POST['drop'] ."'");
}


תשנה במקומות שצריך..

avatar ענה ArielTador ב 23 לאוגוסט 2012 #

כשאני לוחץ על "מחק" הוא פשוט לא עושה כלום חוץ מלרענן את הדף..

avatar ענה RaFaeL ב 23 לאוגוסט 2012 #

ערכתי את התשובה שלי.